<template>
    <div class="login-form">
        <div class="g-form">
            <div class="g-form-line">
                <span class="g-form-label">用户名:</span>
                <div class="g-form-input">
                    <input type="text" v-model="usernameModel" placeholder="输入用户名">
                </div>
                <span class="error">{{userErrors.errorText}}</span>
            </div>
            <div class="g-form-line">
                <span class="g-form-label">密码:</span>
                <div class="g-form-input">
                    <input type="password" v-model="passwordModel" placeholder="请输入密码">
                </div>
                <span class="error">{{passwordErrors.errorText}}</span>
            </div>
            <div class="g-form-line">
                <div class="g-form-btn">
                    <a @click="onLogin" class="button">登录</a>
                </div>
            </div>
            <span>{{errorText}}</span>
        </div>
    </div>
</template>



<script>
export default {
  data(){
      return{
          usernameModel:'',
          passwordModel:'',
          errorText:''
      }
  },
  computed:{
      userErrors(){
           let errorText, status
      if (!/@/g.test(this.usernameModel)) {
        status = false
        errorText = '不包含@'
      }
      else {
        status = true
        errorText = ''
      }
      if (!this.userFlag) {
        errorText = ''
        this.userFlag = true
      }
      return {
        status,
        errorText
      }
      },
      passwordErrors(){
let errorText, status
      if (!/^\w{1,6}$/g.test(this.passwordModel)) {
        status = false
        errorText = '密码不是1-6位'
      }
      else {
        status = true
        errorText = ''
      }
      if (!this.passwordFlag) {
        errorText = ''
        this.passwordFlag = true
      }
      return {
        status,
        errorText
      }
      }
  },
  methods:{
      onLogin(){
         if(!this.userErrors.status||!this.passwordErrors.status){
             this.errorText='用户名密码格式错误'
         }else{
             this.$http.get('http://localhost:3000/login').then((res)=>{
                 this.errorText='',
                 this.$emit('has-login',res)
             },(error)=>{
                this.errorText='error'
             })
         }
      }
  }
}
</script>
